home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 4 / MacMania 4.toast / / Internet software / Traceroute 1.1 / Traceroute 1.1 Release Notes < prev   
Text File  |  1996-04-28  |  11KB  |  242 lines

  1. MacTraceroute 1.1
  2. ©1994-6 Jim Browne (jbrowne@jbrowne.com)
  3. March 10th, 1996
  4.  
  5. Contents
  6.          • What is it?
  7.          • How much does it cost?
  8.          • What's new with this release?
  9.          • Any known bugs in 1.0?
  10.          • What do you plan for future versions?
  11.          • Does it work with OpenTransport?
  12.          • Does it work with PPP?
  13.          • What are the features?
  14.          • How do I use it?
  15.          • How does it work?
  16.          • Who should I sue if it destroys my machine?
  17.          • Who should I thank?
  18.          • Who wrote this?
  19.          • What else has Jim Browne written?
  20.          • What horrid bugs existed in former versions?
  21.     
  22. What is it?:
  23.  
  24. MacTraceroute is a program that attempts to trace the route an IP packet would
  25. follow to some internet host.  It is not guaranteed to be 100% accurate, but
  26. more often than not is close enough to reality to assist in debugging network
  27. problems.
  28.  
  29. How much does it cost?:
  30.  
  31. Nothing.  MacTraceroute and the associated Traceroute Ethernet LAP are free.  You
  32. can do anything you want with them except incorporate them into a commercial
  33. product without my written permission.  Public domain, shareware, and SUMEX-like
  34. CD collections, however, may include both packages on their product.
  35.  
  36. What's new with this release?:
  37.  
  38. 1)    Added icons drawn by Jonathan J. Vafai.
  39. 2)    Found a double dispose bug.  Should fix a lot of the crashes seen on PowerMacs.
  40. 3)    Found a bug in the source port generation code.  Should fix the "simultaneous traces act a little weird" bug.
  41. 4)    More verbose error messages.  Hopefully I'll never have to type "Select the TR Ethernet icon in your MacTCP Control panel and reboot" again.
  42. 5)    Domain names should display more readily.  Before you had to sometimes force an update to get some of the domain names to display.
  43. 6)    Hitting the "Traceroute" button with no host specified just dismisses the dialog.
  44. 7)    Fixed a misspelling in the DNS Error dialog.
  45. 8)    Widened the New Traceroute dialog to accomidate larger domain names for the destination host.
  46.  
  47. Any known bugs in 1.1?:
  48.  
  49. 1)    Some visual problems with the trace window: Horizontal scroll bar
  50.     problems.  Sometimes updates aren't drawing everything.
  51.     
  52. What do you plan for future versions?:
  53.  
  54. 1)    Add some optional parameters to the "traceroute" appleevent.
  55. 2)    Make New Trace dialog moveable modal.
  56. 3)  Implement pinging of hops.
  57. 4)    Incorporate Adam Goodfellow's nifty path MTU discovery code.
  58.  
  59. Does it work with OpenTransport?:
  60.  
  61. No.  The next release of MacTraceroute will support OpenTransport.
  62.  
  63. Does it work with PPP?:
  64.  
  65. If you are using MacSlip 3.0, yes.  If you are using FreePPP, wait for 3.0.  I'm a
  66. member of the FreePPP Group and am working on Traceroute support in 3.0.  If you are
  67. using anything else for PPP, don't.  Use FreePPP! :)
  68.  
  69. What are the features?
  70.  
  71. MacTraceroute implements almost all of the features supported by the UNIX
  72. traceroute command.  MacTraceroute does not currently support the Loose
  73. Source Record Route option of traceroute.
  74.  
  75. How do I use it?:
  76.  
  77. First, hit command-n to bring up a new traceroute dialog.  Type in the host
  78. name or IP address of the host you wish to attempt to traceroute to.  The
  79. remaining fields in the dialog require some explanation:
  80.  
  81.     Max TTL:    This specifies the maximum ttl traceroute should use in
  82.                 its outgoing probes.  This usually coincides with the
  83.                 number of hops, but not neccessarily.
  84.                 
  85.     Timeout per Probe: This specifies the number of seconds to wait for a
  86.                 response to a probe.
  87.                 
  88.     Probes per TTL: This specifies the number of probes to send with a given
  89.                 TTL value.  Usually is Probers per hop, but not always.
  90.                 
  91.     Starting Port: This specifies the UDP port number that MacTraceroute will
  92.                 start the probes at.  If something on the target machine is
  93.                 using a port at or just above this port number, traceroute may
  94.                 fail to work correctly.  If you suspect this to be the problem,
  95.                 try a different starting port.  This field is automatically
  96.                 filled with a random number.
  97.                 
  98.     Resolve IP Addresses: If this is checked, MacTraceroute will try a reverse
  99.                 DNS lookup on the ip addresses of each hop.
  100.                 
  101.     Loose Source Record Route: Currently not supported.
  102.     
  103.     The remaining fields can be used to set certain bits in the probes' IP
  104.     header.  Reference RFC 791 for a complete description of these fields.
  105.     They are, in my opinion, self explanatory.
  106.  
  107. After you hit the "Traceroute" button, a window will appear showing the results
  108. of the traceroute.  The number on the left is the hop number.  To the right of
  109. this is the IP address of the hop, and optionally the DNS name of the hop.
  110. To the right of this information is the round trip time for each probe.
  111.  
  112. When the trace is completed, the window title will have a "•" inserted at the
  113. beginning.
  114.  
  115. A few other things can appear in place of round trip times:
  116.     !SE     An error occurred when attempting to send the probe
  117.     *       A timeout occurred waiting for the probe to return
  118.     !N      A network unreachable condition was reported
  119.     !H      A host unreachable condition was reported
  120.     !P      A protocol unreachable condition was reported
  121.     !S      A source route failure occurred
  122.     !F      A fragmentation needed condition was reported (Shouldn't happen)
  123.     
  124. How does it work?:
  125.  
  126. MacTraceroute works by sending UDP packets with a destination IP address of the
  127. host you wish to trace to, and an artificially low TTL field.  When a gateway or
  128. router forwards an IP packet, it decrements the TTL field.  When the TTL field
  129. is decremented to zero, an ICMP Time Exceeded error message is sent to the
  130. originating host.  Thus, by sending out UDP packets with TTLs of 1,2,3, and so
  131. on, and listening for the ICMP error messages, you can determine the route the
  132. packets are taking to the host in question.  This method is not 100% reliable,
  133. for reasons beyond the scope of this document.   It works well enough for most
  134. uses.  MacTraceroute requires a special LAP for MacTCP since MacTCP does not
  135. allow applications to modify the TTL field of packets, nor does it give
  136. applications direct access to ICMP messages.
  137.  
  138. Who should I sue if it destroys my machine?:
  139.  
  140. Not me.  The MacTraceroute application and the Traceroute Ethernet LAP have no warranty
  141. whatsoever.  I have tried to eliminate all of the bugs from the code, but I probably
  142. will never eliminate them all.  If MacTraceroute or the LAP damage your machine in any
  143. way, I am sorry, but I cannot be held liable.  If you think it stinks just remember:
  144. You get what you pay for.
  145.  
  146. Who should we thank?:
  147.  
  148. First and foremost, the legendary Van Jacobsen (van@helios.ee.lbl.gov).  This
  149. application was inspired by and is directly derived from the code of Van Jacobsen's
  150. traceroute.
  151.  
  152. VJ thanks Steve Deering, C. Phillip Wood, Tim Seaver, and Ken Adelman in the
  153. traceroute man page, so you should too.
  154.  
  155. I would like to thank Blaine Kubesh for bugging me to work on the MacTraceroute
  156. application and the Traceroute Ethernet LAP.  I'd also like to thank Apple for
  157. producing A/UX, a UNIX implementation so crappy it drove me to port traceroute 
  158. to MacOS.  Without A/UX, I'd probably be happy to continue running traceroute
  159. on my local UNIX box.
  160.  
  161. As with everything I program, Matt Elliott for being such a nagging pain.  I
  162. probably would just watch TV all day if it weren't for Matt bitching at me. ;)
  163.  
  164. I should also thank Steve Dorner for exclaiming 'Why in the hell are you doing
  165. that there?' (paraphrased) about my LDEF code.  He put me onto the trail of some
  166. updating bugs that have plauged many of my programs.
  167.  
  168. The following people submitted bug reports that led to the fixes you see in 1.1.  I thank all of them for taking the time to mail me:
  169.      Brian Yates
  170.      Simon Rumble, who stated "May the Goddess of nubile young virgins always shine in your path."
  171.      William W. Fisher
  172.                     
  173. Who wrote this?:
  174.  
  175. MacTraceroute was written by Jim Browne (jbrowne@jbrowne.com).  Jim likes all things
  176. related to Led Zeppelin and frisbee (which is a brand name and registered trademark
  177. of the wham-o mfg. company).  Jim doesn't mind getting bug reports and wish list
  178. suggestions via email, so long as they contain "Traceroute" in their subject so
  179. Eudora can filter them to the proper mailbox.  Beginning with the writing of this
  180. file, Jim apparently likes referring to himself in the third person.
  181.  
  182. What else has Jim Browne written?:
  183.  
  184. DNSLib: A library that makes working with MacTCP's DNR much easier by providing application-time callbacks for DNR responses, queueing of DNR requests, and handling of N concurrent DNR questions.  MacTraceroute and MacFSP use this library.  Note: This has nothing to do with ASLM, SOM, etc.
  185.         
  186. MacFSP: A Macintosh client for the FSP protocol.
  187.  
  188. TuboUDP: A library that makes writing UDP code under MacTCP much easier.
  189.  
  190. During my short stint at Sonic Systems, Inc., I wrote the SonicPPP client, co-designed the interface for the manager of Sonic's QuickStream with Chris Russo (5 diamonds, MacWeek 1/29/96), wrote most of Sonic's Macintosh based PPP server, and helped debug the QuickStream.
  191.  
  192. In a former life, I worked on two little known programs: NCSA Telnet and NCSA Mosaic… you probably haven't heard of either of them.
  193.  
  194. What horrid bugs existed in former versions?:
  195.  
  196. Version 1.0 (2/4/95):
  197.  
  198. 1)    Zoomed windows are constrained to available desktop.
  199. 2)    Now using System 7's new window stagger function since it's there.
  200. 3)    Probes per TTL used actually matches value in New Traceroute dialog, rather than using one less than the value entered.
  201. 4)    When traces are started when MacTraceroute is in the background (i.e. from an AppleEvent), windows have inactive scrollbars (as they should).
  202. 5)    Trace times are now "attached" to the right side of the window.
  203. 6)    Results of traces may now be copied to the clipboard.
  204. 7)    Fixed the application icon masks.
  205.  
  206. Version 1.0b1 (12/23/94):
  207.  
  208. 1)    DNS errors from the destination host lookup produce an error dialog.
  209. 2)    About Dialog is now centered.
  210. 3)    Horizontal window growth is now bounded.
  211. 4)    Removed "Probes Per TTL" from info bar as it was redundant.
  212. 5)    Zoom box has been added.
  213. 6)    Support for the four required appleevents added.
  214. 7)    Support for a "traceroute" appleevent.
  215.  
  216. Version 1.0d4 (11/22/94):
  217.  
  218. 1)    Fixed the corruption bug that was causing intermittent crashes.
  219. 2)    Fixed the "crash if you close an active traceroute window" bug.
  220. 3)    Fixed the updating bugs.
  221. 4)    Text is no longer clipped at the bottom (losing the bottom of a "g", etc.)
  222. 5)    First hop is no longer duplicated.
  223. 6)    Target hop results are now displayed.
  224. 7)    Scroll bar strangeness has been corrected.
  225.  
  226. Version 1.0d3 (11/4/94):
  227.  
  228. 1)    New interface.
  229. 2)    Optional inverse DNS lookups of hops.
  230. 3)  Fixed "crash on second trace" bug.
  231. 4)  More than one traceroute allowed at a time.
  232. 5)  Precedence and Type of Service implemented
  233.  
  234. Version 1.0d2 (7/30/94):
  235.  
  236. This release fixes a bug in the source IP address in the outgoing traceroute
  237. probes.
  238.  
  239. Version 1.0d1 (7/29/94):
  240.  
  241. This is the first time this code has left my machine in any capacity.
  242.